#pragma once
#include "RvizMsg.h"
#include "type.h"
#include <QString>
//OPENCV
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

//JSON
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/prettywriter.h" // for stringify JSON
using namespace rapidjson;
using namespace cv;


class OperationSerializer : public RvizMsg
{
public:
	typedef struct tagOperationResponse {
		int operation_type;
		int total_step;
		int erron_type;
		std::string reason;
	}OperationResponse;

	OperationResponse operationResponse;
	virtual int serialize(int messageType, char* message);
	virtual int deseralize(int messageType, const std::string& message);
};
